PROCEDURE TForm4.TestShlWAPIStrToIntEx(Sender : TObject);
VAR numstr : STRING;
VAR flags : DWORD;
VAR number : INTEGER;
VAR apiretval : BOOL;
VAR newinfoline : STRING;
BEGIN
numstr := '';
flags := 0; //(= STIF_DEFAULT = $00000000;);
number := 0;
apiretval := FALSE;
newinfoline := '';
numstr := '22000';
//flags := STIF_DEFAULT; //= 0, set in var initialization
apiretval := StrToIntEx(PChar(numstr), flags, @number);
newinfoline := 'StrToIntEx called with "' + numstr + '" returned : ';
IF apiretval = TRUE THEN
newinfoline := newinfoline + 'TRUE, '
ELSE
newinfoline := newinfoline + 'FALSE, ';
newinfoline := newinfoline + IntToStr(number) + ' (0x' + IntToHex(number, 8) + ')';
Memo1.Lines.Add(newinfoline);
number := 0;
apiretval := FALSE;
numstr := '3,300,100';
//flags := STIF_DEFAULT; //= 0, set in var initialization
apiretval := StrToIntEx(PChar(numstr), flags, @number);
newinfoline := 'StrToIntEx called with "' + numstr + '" returned : ';
IF apiretval = TRUE THEN
newinfoline := newinfoline + 'TRUE, '
ELSE
newinfoline := newinfoline + 'FALSE, ';
newinfoline := newinfoline + IntToStr(number) + ' (0x' + IntToHex(number, 8) + ')';
Memo1.Lines.Add(newinfoline);
number := 0;
apiretval := FALSE;
numstr := '44.127.958';
//flags := STIF_DEFAULT; //= 0, set in var initialization
apiretval := StrToIntEx(PChar(numstr), flags, @number);
newinfoline := 'StrToIntEx called with "' + numstr + '" returned : ';
IF apiretval = TRUE THEN
newinfoline := newinfoline + 'TRUE, '
ELSE
newinfoline := newinfoline + 'FALSE, ';
newinfoline := newinfoline + IntToStr(number) + ' (0x' + IntToHex(number, 8) + ')';
Memo1.Lines.Add(newinfoline);
number := 0;
apiretval := FALSE;
numstr := ' 330010';
//flags := STIF_DEFAULT; //= 0, set in var initialization
apiretval := StrToIntEx(PChar(numstr), flags, @number);
newinfoline := 'StrToIntEx called with "' + numstr + '" returned : ';
IF apiretval = TRUE THEN
newinfoline := newinfoline + 'TRUE, '
ELSE
newinfoline := newinfoline + 'FALSE, ';
newinfoline := newinfoline + IntToStr(number) + ' (0x' + IntToHex(number, 8) + ')';
Memo1.Lines.Add(newinfoline);
number := 0;
apiretval := FALSE;
numstr := FloatToStr(8888.77);
apiretval := StrToIntEx(PChar(numstr), flags, @number);
newinfoline := 'StrToIntEx called with "' + numstr + '" returned : ';
IF apiretval = TRUE THEN
newinfoline := newinfoline + 'TRUE, '
ELSE
newinfoline := newinfoline + 'FALSE, ';
newinfoline := newinfoline + IntToStr(number) + ' (0x' + IntToHex(number, 8) + ')';
Memo1.Lines.Add(newinfoline);
number := 0;
apiretval := FALSE;
numstr := 'FFFFFFFF';
flags := 1; //(= STIF_SUPPORT_HEX = $00000001;);
apiretval := StrToIntEx(PChar(numstr), flags, @number);
newinfoline := 'StrToIntEx called with "' + numstr + '" returned : ';
IF apiretval = TRUE THEN
newinfoline := newinfoline + 'TRUE, '
ELSE
newinfoline := newinfoline + 'FALSE, ';
newinfoline := newinfoline + IntToStr(number) + ' (0x' + IntToHex(number, 8) + ')';
Memo1.Lines.Add(newinfoline);
number := 0;
apiretval := FALSE;
numstr := 'AA11BB22';
flags := 1; //(= STIF_SUPPORT_HEX = $00000001;);
apiretval := StrToIntEx(PChar(numstr), flags, @number);
newinfoline := 'StrToIntEx called with "' + numstr + '" returned : ';
IF apiretval = TRUE THEN
newinfoline := newinfoline + 'TRUE, '
ELSE
newinfoline := newinfoline + 'FALSE, ';
newinfoline := newinfoline + IntToStr(number) + ' (0x' + IntToHex(number, 8) + ')';
Memo1.Lines.Add(newinfoline);
number := 0;
apiretval := FALSE;
numstr := '0xCC33DD44';
flags := 1; //(= STIF_SUPPORT_HEX = $00000001;);
apiretval := StrToIntEx(PChar(numstr), flags, @number);
newinfoline := 'StrToIntEx called with "' + numstr + '" returned : ';
IF apiretval = TRUE THEN
newinfoline := newinfoline + 'TRUE, '
ELSE
newinfoline := newinfoline + 'FALSE, ';
newinfoline := newinfoline + IntToStr(number) + ' (0x' + IntToHex(number, 8) + ')';
Memo1.Lines.Add(newinfoline);
number := 0;
apiretval := FALSE;
numstr := '0X' + IntToHex($EE55FF66, 8);
flags := 1; //(= STIF_SUPPORT_HEX = $00000001;);
apiretval := StrToIntEx(PChar(numstr), flags, @number);
newinfoline := 'StrToIntEx called with "' + numstr + '" returned : ';
IF apiretval = TRUE THEN
newinfoline := newinfoline + 'TRUE, '
ELSE
newinfoline := newinfoline + 'FALSE, ';
newinfoline := newinfoline + IntToStr(number) + ' (0x' + IntToHex(number, 8) + ')';
Memo1.Lines.Add(newinfoline);
number := 0;
apiretval := FALSE;
numstr := ' 0X' + IntToHex($AF15BE72, 8);
flags := 1; //(= STIF_SUPPORT_HEX = $00000001;);
apiretval := StrToIntEx(PChar(numstr), flags, @number);
newinfoline := 'StrToIntEx called with "' + numstr + '" returned : ';
IF apiretval = TRUE THEN
newinfoline := newinfoline + 'TRUE, '
ELSE
newinfoline := newinfoline + 'FALSE, ';
newinfoline := newinfoline + IntToStr(number) + ' (0x' + IntToHex(number, 8) + ')';
Memo1.Lines.Add(newinfoline);
number := 0;
apiretval := FALSE;
numstr := '$' + IntToHex($1B52F104, 8);
flags := 1; //(= STIF_SUPPORT_HEX = $00000001;);
apiretval := StrToIntEx(PChar(numstr), flags, @number);
newinfoline := 'StrToIntEx called with "' + numstr + '" returned : ';
IF apiretval = TRUE THEN
newinfoline := newinfoline + 'TRUE, '
ELSE
newinfoline := newinfoline + 'FALSE, ';
newinfoline := newinfoline + IntToStr(number) + ' (0x' + IntToHex(number, 8) + ')';
Memo1.Lines.Add(newinfoline);
number := 0;
apiretval := FALSE;
Memo1.Lines.Add('');
END; |
StrToIntEx called with "22000" returned : TRUE, 22000 (0x000055F0)
StrToIntEx called with "3,300,100" returned : TRUE, 3 (0x00000003)
StrToIntEx called with "44.127.958" returned : TRUE, 44 (0x0000002C)
StrToIntEx called with " 330010" returned : TRUE, 330010 (0x0005091A)
StrToIntEx called with "8888.77" returned : TRUE, 8888 (0x000022B8)
StrToIntEx called with "FFFFFFFF" returned : FALSE, 0 (0x00000000)
StrToIntEx called with "AA11BB22" returned : FALSE, 0 (0x00000000)
StrToIntEx called with "0xCC33DD44" returned : TRUE, -869016252 (0xCC33DD44)
StrToIntEx called with "0XEE55FF66" returned : TRUE, -296353946 (0xEE55FF66)
StrToIntEx called with " 0XAF15BE72" returned : TRUE, -1357529486 (0xAF15BE72)
StrToIntEx called with "$1B52F104" returned : FALSE, 0 (0x00000000) |